The present invention relates generally to data communication systems and more particularly relates to an apparatus for and a method of implementing an interface between a host and a modem.
The use of all types of communications systems is currently increasing at a rapid rate. All types of communications systems, such as RF, power line, twisted, IR, optical fiber, cable, etc., are being used in newly developed data communication and networking products and in products that traditionally did not include any communications means such as home appliances like refrigerators, microwave ovens, etc. Many of these communication systems are manufactured as modules or components that are designed into existing or new product lines.
Communication components such as modems are being constructed as complex monolithic devices containing almost all the analog and digital circuitry required to connect a host to a communication channel. Typically, however, a heavy processing burden is placed on the host to provide the low level MAC processing for the communications link. Most prior art communications devices simply provide the physical layer circuitry and components, i.e., the transmitter and receiver functions (modulator and demodulator). The host is required to perform all the link layer functions such as collision detection and retransmissions.
With the advent of consumer demand for more functionality from products today, there is an ever increasing demand placed on product designers to include more and more functions in their products. Many of these advanced features are complex requiring a large amount of computing resources or requiring additional complex circuitry. To reduce the burden on system/product designers, therefore, it would be desirable to have a communications component that performed a portion of the upper layer functionality, e.g., MAC layer processing, in addition to the physical layer functionality. Such a device would simplify the design or such communication systems and reduce the cost and complexity associated therewith.
The present invention is an apparatus for and a method of interfacing a host to a modem. The host may comprise any suitable device that provides data to the modem for transmission over the attached communication channel, provides control information to the modem to control its operation and receives data and status from the modern from data received over the channel. The modem may comprise any suitable communications modem capable of transmitting data over and receiving data from a channel. The channel may comprise any suitable media including but not limited to RF, IR, power line carrier, twisted pair, optical fiber and coaxial cable.
For example purposes, the present invention is described in the context of a Code Shift Keying (CSK) modem whereby data is conveyed in a direct sequence spread spectrum signal. CSK communications systems (differential and non-differential) are applicable to relatively noisy environments such as the AC power line.
In a CSK transmission system, the data is transmitted in the form of time shifts between consecutive circularly rotated waveforms of length T that are referred to as spreading waveforms, i.e., spread spectrum correlator sequence waveforms. The spreading waveforms can comprise any type of waveform that has suitable auto correlation properties. During each symbol period, referred to as a unit symbol time (UST), a plurality of bits are transmitted. The symbol period is divided into a plurality of shift indexes with each shift index representing a particular bit pattern. The -information, i.e., bit pattern, is conveyed by rotating the spreading waveform by a certain amount corresponding to the data to be transmitted. The data is conveyed in the degree of rotation or circular shift applied to the spreading waveform (also referred to as a chirp) before it is transmitted.
In addition to conveying information in the shift applied to the spreading sequence, additional information can be conveyed in the sign of the symbol or more generally in its phase if there is a carrier present.
In a CSK system, the data is conveyed in the absolute shift assigned to the spreading waveform. In a DCSK system, the data is conveyed in the shift differential between consecutive symbols. The synchronization scheme of the present invention is applicable to both CSK and DCSK transmission systems.
Upon reception by the receiver, the signal is input to a matched filter having a template of the spreading waveform pattern to detect the amount of rotation (or circular shift) within the received signal for each symbol. The received data is fed into a shift register and circularly rotated, i.e., shifted. For each bit shift or rotation, the matched filter generates a correlation sum. A shift index is determined for each UST corresponding to the shift index that yields the maximum (or minimum) correlation sum. Differential shift indexes are generated by subtracting the currently received shift index from the previously received shift index. The differential shift index is then decoded to yield the originally transmitted data.
The transmitter transmits data in the form of packets to the receiver. Each packet is preceded by a synchronization sequence comprising a predetermined number of symbols. The length of the synchronization sequence can be any suitable number of symbols such that the receiver is able to synchronize with the transmitter. An optional preamble may also be sent which comprises a sequence comprising any number of zero rotated symbols (or symbols with a constant fixed rotation) followed by any number of non-zero rotated symbols having a known predetermined random shift. The rotation that is applied to each symbol is independent of the rotation applied to other symbols.
The modem is adapted to provide an interface to support data transfers between the host and the modem. Although the information transfer may comprise any suitable form, the example modem presented herein below is adapted to provide a serial interface using three signal lines: data clock, data in and data out. In addition to the serial link signals, the host provides a transmit request TX and a RESET line. The modem provides a channel transmission signal TS, interrupt request line INT and carrier detect CD signal.
A key feature of the present invention is that the modem not only provides the physical layer implementation functions (i.e., transmission and reception functions) but also provides low level MAC layer function processing. The means (either circuitry, software or the combination of the two) for providing the low level MAC processing serves to greatly enhance the functionality of the modem and reduce the burden of the host processor. This serves to eliminate any stringent access timing constraints usually placed on the host processor resulting in reduced cost and complexity of the host.
Functions provided include collision detection, back-off algorithm according to a programmed back-off time, conditional transmission, automatic retransmissions and ACK/NACK packet generation and processing. The modem also comprises collision detection means that utilizes a collision detection preamble. The use of the collision detection preamble is optional, and if selected is performed at the beginning of each packet to be transmitted. In addition, the low level MAC processing handles the situation whereby a packet is received during transmission of the preamble or back-off time.
There is provided in accordance with the present invention a modem controller apparatus for use in a modem having a transmitter and a receiver, the modem coupled between a communication channel and a host comprising means for transmit data and control data from the host wherein the transmit data transmitted over the channel by the transmitter and the control data used to configure and control the operation of the modem, means for receiving data transmitted over the communications channel from the receiver and for forwarding the receive data to the host, means for waiting an optional wait period before attempting transmission of a packet onto the channel, means for transmitting an optional preamble comprising at least one quiet period and the transmission of at least one predetermined symbol, back-off means for detecting the reception of a packet during one or more quiet periods of the preamble and aborting transmission if reception of a packet is detected and means for conveying information about the last packet received by the modem in the body of the packet being transmitted.
The modem controller may include a serial interface wherein the transmit data, the control data and the received data are communicated between the host and the modem serially and wherein the host transfers both transmit data and control data to the modem within the same serial bit stream. The modem controller may include a parallel interface wherein the transmit data, the control data and the received data are communicated between the host and the modem in parallel and wherein the host transfers both transmit data and control data to the modem within the same parallel bit stream.
The back-off means is adapted to wait a random time interval or a predetermined time interval set by a user before attempting retransmission. The information may comprise an indication of the reception success or failure of the last packet received by the modem as determined by comparing the Cyclic Redundancy Check (CRC) sum calculated to that received, as conveyed via a status bit in the body of the packet to be transmitted or as conveyed via an ACK/NACK bit in the body of the packet to be transmitted.
The apparatus further comprises conditional transmission means for enabling the transmission of a packet if and only if the transmission of the previous packet was successful and wherein the information comprises an indication of the reception success or failure of the last packet received by the modem on the other end of the channel. The apparatus further comprises means for maintaining synchronization between the host and the modem whereby the host is continually informed as to the current activity of the modem.
The apparatus further comprises means for declaring initial synchronization upon detection of a fewer number of valid symbols than that required to achieve full synchronization, and wherein synchronization is either reaffirmed or de-affirmed one or more additional symbol times in the future. The apparatus further comprises means for the host to select the timing of the transmission of the next packet wherein the host prepares data to be sent to the modem and issues a transmit request signal subsequent thereto.
The apparatus further comprises means for the host to select the timing of the transmission of the next packet during the reception of a packet by the modem wherein the host prepares data to be sent to the modem and issues a transmit request signal subsequent thereto.
There is further provided in accordance with the present invention a modem apparatus coupled between a communication channel and a host, the host providing data and control packets to the modem comprising a transmitter for transmitting transmit data over the channel, a receiver for receiving data transmitted over the communications channel, detection means for detecting the reception of a packet after the host sends transmit data to the modem but before the actual transmission of data over the channel and a modem controller operative to receive transmit data and control data from the host, forward the transmit data to the transmitter for transmission over the communications channel, configure and control the operation of the modem in accordance with the control data, receive data transmitted over the communications channel from the receiver, forward the received data to the host and in response to receipt of a packet by the detection means, cause the modem to switch from a transmit mode to a receive mode without any intervention of the host and for notifying the host that the current transmission attempt is to be aborted.
The apparatus further comprises means for waiting an optional wait period before attempting transmission of a packet onto the communications channel. The apparatus further comprises means for transmitting an optional preamble comprising at least one quiet period and the transmission of at least one predetermined symbol. The apparatus further comprises means for maintaining synchronization between the host and the communication device whereby the host is continually informed as to the current activity of the communication device. The apparatus further comprises means for controlling the transmission of data over the communications channel wherein the operation of the modem control apparatus is directed according to the contents of the control data received from the host.
The apparatus further comprises means for declaring initial synchronization upon detection of a fewer number of valid symbols than that required to achieve full synchronization, and wherein synchronization is either reaffirmed or de-affirmed additional symbol times in the future. The apparatus further comprises means for the host to select the timing of the transmission of the next packet wherein the host prepares data to be sent to the modem and issues a transmit request signal subsequent thereto. The apparatus further comprises means for the host to select the timing of the transmission of the next packet during the reception of a packet by the modem wherein the host prepares data to be sent to the modem and issues a transmit request signal subsequent thereto.
There is also provided in accordance with the present invention a method for controlling low level access in a modem apparatus having a transmitter and a receiver, the modem coupled between a communication channel and a host, the method comprising receiving transmit data and control data from the host wherein the transmit data is transmitted over the channel by the transmitter and the control data is used to configure and control the operation of the modem, receiving data transmitted over the communications channel from the receiver and forwarding the receive data to the host, waiting an optional wait period before attempting transmission of a packet onto the channel, transmitting an optional preamble comprising at least one quiet period and the transmission of at least one predetermined symbol, detecting the reception of a packet during one or more quiet periods of the preamble, aborting transmission of the current packet if reception of a packet is detected and conveying information about the last packet received by the modem in the body of the packet being transmitted.